package io.mft.commons.function.datasource;
/**
 * 数据源调用类型
 * @说明：TODO
 * @类型名称：DatasourceInvokeType
 * @创建者: 胡常建  
 * @创建时间: 2021年3月20日 下午5:00:27
 * @修改者: 胡常建  
 * @修改时间: 2021年3月20日 下午5:00:27
 */
public enum DatasourceInvokeType {
	none(-1,DatasourceType.none),sql(0,DatasourceType.db), table(1,DatasourceType.db),hget(2,DatasourceType.cache),get(3,DatasourceType.cache),publish(4,DatasourceType.rabbitmq),sqlfunction(5,DatasourceType.db),sqlprocedure(6,DatasourceType.db),ql(7,DatasourceType.none),java(8,DatasourceType.none),arFuncNo(9,DatasourceType.ar),hgetall(10,DatasourceType.cache),getjsonobject(11,DatasourceType.cache),getjsonarray(12,DatasourceType.cache),api(13,DatasourceType.none);
	private int typeValue;
	private DatasourceType datasourceType;
	private DatasourceInvokeType(int typeValue,DatasourceType datasourceType) {
		this.typeValue=typeValue;
		this.datasourceType=datasourceType;
	}

	public int typeValue() {
		return typeValue;
	}
	
	public DatasourceType DatasourceType() {
		return datasourceType;
	}
	public static DatasourceInvokeType parse(int typeValue) {
		DatasourceInvokeType type=none;
		DatasourceInvokeType[] types=DatasourceInvokeType.values();
		for (DatasourceInvokeType s : types) {
			if (s.typeValue()==typeValue) {
				type=s;
				break;
			}
		}
		return type;
	}
}
